/**
 * 测试pushdemo
 */
var route = require('express').Router();
var request = require('request');
var crypto = require('crypto');
var md5 = crypto.createHash('md5');
var AppKey = '5762626367e58e95320011e9',
    App_Master_Secret = 'qxrcqjtwi2l3igswpksrswbgxsceol2r';

function getPostBody(tag, message) {
    return {
        "appkey": AppKey, // 必填 应用唯一标识
        "timestamp": new Date().getTime(), // 必填 时间戳，10位或者13位均可，时间戳有效期为10分钟
        "type": "groupcast", // 必填 消息发送类型,其值可以为:
        "filter": {
            "where": {
                "and": [{
                    "tag": tag
                }]
            }
        }, // 可选 终端用户筛选条件,如用户标签、地域、应用版本以及渠道等,具体请参考附录G。
        "payload": // 必填 消息内容(Android最大为1840B), 包含参数说明如下(JSON格式):
        {
            "display_type": "message", // 必填 消息类型，值可以为:notification-通知，message-消息
            "body": // 必填 消息体。display_type=message时,body的内容只需填写custom字段。display_type=notification时, body包含如下参数:
            {
                "custom": message
            },
        },
        "description": "消息描述" // 可选 发送消息描述，建议填写。 
    }
}
var postBody = getPostBody("ABC", {
    "text": "comeon"
});
var sign = md5.update('POSThttp://msg.umeng.com/api/send' + JSON.stringify(postBody) + App_Master_Secret).digest('hex');
route.post('/', function(req, res) {
    request({
        method: "POST",
        json: true,
        uri: "http://msg.umeng.com/api/send?sign=" + sign,
        body: postBody
    }, function(error, response, body) {
        if (error) {
            console.log(error)
            throw error;
        } else {
            console.log("ok" + JSON.stringify(body));
            res.end(body);
        }
    });
})
module.exports = route;